#include<INTRINS.H>
#include"Wave.h"
/*超声波模块*/
sbit Tx=P1^0;
sbit Rx=P1^1;

/*延时函数*/
void Delay12us()		//@12.000MHz
{
	unsigned char i;

	_nop_();
	_nop_();
	i = 33;
	while (--i);
}


/*参生一个40khz的方波*/
void Wave_Init()
{
    unsigned char i=0;
    for(i=0;i<8;i++)
{
    Tx=1;
    Delay12us();
    Tx=0;
    Delay12us();
}

}

unsigned int Wave_run()
{
    unsigned int time=0;
    TMOD &= 0x0F;//设置定时器模式
    TL1 =0;	//设置定时初值
	TH1=0; //设置定时初值
    Wave_Init();
    TR1=1;//定时器开始计时
    while((TF1==0)&&(Rx==1));
    TR1=0;//定时器停止计时
    /*没有溢出*/
if(TF1==0)
{
time=(TH1<<8)|TL1;
    return(0.017*time);
}
/*如果溢出*/
else
{
TF1=0;
return 0;
}
}